rtc: initialize output parameter for read alarm to "uninitialized"
authorUwe Kleine-König <uwe@kleine-koenig.org>
Wed, 11 May 2016 07:11:23 +0000 (09:11 +0200)
committerBen Hutchings <ben@decadent.org.uk>
Fri, 7 Oct 2016 01:11:50 +0000 (01:11 +0000)
rtc drivers are supposed to set values they don't support to -1. To
simplify this for drivers and also make it harder for them to get it
wrong initialize the values to -1.

Signed-off-by: Uwe Kleine-König <uwe@kleine-koenig.org>
Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Gbp-Pq: Topic bugfix/all
Gbp-Pq: Name rtc-initialize-output-parameter-for-read-alarm-to-un.patch

drivers/rtc/interface.c

index 9ef5f6f89f98af8d97da7595aa4ce5a90c6d2566..99475908e5563dee1084a1d42ac47222b3865512 100644 (file)
@@ -104,7 +104,17 @@ static int rtc_read_alarm_internal(struct rtc_device *rtc, struct rtc_wkalrm *al
        else if (!rtc->ops->read_alarm)
                err = -EINVAL;
        else {
-               memset(alarm, 0, sizeof(struct rtc_wkalrm));
+               alarm->enabled = 0;
+               alarm->pending = 0;
+               alarm->time.tm_sec = -1;
+               alarm->time.tm_min = -1;
+               alarm->time.tm_hour = -1;
+               alarm->time.tm_mday = -1;
+               alarm->time.tm_mon = -1;
+               alarm->time.tm_year = -1;
+               alarm->time.tm_wday = -1;
+               alarm->time.tm_yday = -1;
+               alarm->time.tm_isdst = -1;
                err = rtc->ops->read_alarm(rtc->dev.parent, alarm);
        }